Skip to main content

第 1 课:基础原理

强化学习(Reinforcement Learning, RL) 是一种机器学习方法,学习智能体(agent)如何通过与环境(environment)交互,以最大化累计奖励(cumulative reward)为目标做出动作决策。

强化学习的核心:“在试错中学习一个策略,使得长期获得的奖励最大。”

与其他学习方法的区别:

类型输入数据形式学习目标例子
监督学习输入 + 正确输出标签拟合已知标签的预测函数图像识别、房价预测
无监督学习输入(无标签)挖掘数据的潜在结构聚类、降维
强化学习状态、动作、奖励反馈学习策略以最大化长期奖励游戏玩耍、机器人控制

强化学习不是直接“知道”对错,而是通过试错,从奖励中自己摸索出最优策略。

(一)马尔可夫决策过程(MDP)

强化学习问题通常建模为一个 马尔可夫决策过程(Markov Decision Process),表示环境的动态特性。

1. MDP 的定义:

一个五元组:

MDP=(S,A,P,R,γ) \text{MDP} = (\mathcal{S}, \mathcal{A}, \mathcal{P}, \mathcal{R}, \gamma)
符号含义
S\mathcal{S}状态空间(可能的环境状态集合)
A\mathcal{A}动作空间(agent 可执行的动作集合)
P(s,s,a)\mathcal{P}(s',s,a)策略函数(定义 agent 在每个状态下选择什么动作的决策函数。)
R(s,a,s)\mathcal{R}(s,a,s')奖励函数(从 ( s ) 执行动作 ( a ) 转移到 ( s' ) 得到的奖励)
γ[0,1]\gamma \in [0,1]折扣因子(discount factor),衡量未来奖励的重要性

2. 马尔可夫性质:

P(st+1st,at,st1,at1,)=P(st+1st,at) P(s_{t+1} | s_t, a_t, s_{t-1}, a_{t-1}, \ldots) = P(s_{t+1} | s_t, a_t)

意思是:未来只依赖当前状态与动作,与过去无关。


3️⃣ 强化学习核心概念

✅ 状态(State):

环境的某种描述,例如:在游戏中角色的位置、速度等。

✅ 动作(Action):

Agent 可以选择的行为,例如:向左走、跳跃、攻击。

✅ 奖励(Reward):

环境反馈给 agent 的一个数值,用于评估该动作好坏。例如吃到金币 +1,被怪打 -10。

✅ 策略(Policy):

定义 agent 在每个状态下选择什么动作的决策函数

  • 符号:(\pi(a|s)) = 在状态 (s) 下选择动作 (a) 的概率
  • 可分为:
    • 确定性策略:( \pi(s) = a )
    • 随机策略:( \pi(a|s) \in [0,1] )

✅ 状态值函数(Value Function):

表示在某策略下,从某状态开始后续能够获得的期望累计奖励

  • 定义: Vπ(s)=Eπ[t=0γtrt,,s0=s] V^\pi(s) = \mathbb{E}*\pi \left[ \sum*{t=0}^{\infty} \gamma^t r_t ,|, s_0 = s \right]

✅ 状态-动作值函数(Q函数):

表示在策略 ( \pi ) 下,从状态 (s) 执行动作 (a) 后,未来获得的期望总奖励。

Qπ(s,a)=Eπ[t=0γtrt,,s0=s,a0=a] Q^\pi(s, a) = \mathbb{E}*\pi \left[ \sum*{t=0}^{\infty} \gamma^t r_t ,|, s_0 = s, a_0 = a \right]

4️⃣ Bellman 方程

✅ 4.1 贝尔曼期望方程(Bellman Expectation Equation)

贝尔曼方程描述了当前值函数与下一状态值函数的递推关系。

对于状态值函数 (V^\pi(s)):

Vπ(s)=aπ(as)sP(ss,a)[R(s,a,s)+γVπ(s)] V^\pi(s) = \sum_{a} \pi(a|s) \sum_{s'} P(s'|s,a) \left[ R(s,a,s') + \gamma V^\pi(s') \right]

对于动作值函数 (Q^\pi(s,a)):

Qπ(s,a)=sP(ss,a)[R(s,a,s)+γaπ(as)Qπ(s,a)] Q^\pi(s,a) = \sum_{s'} P(s'|s,a) \left[ R(s,a,s') + \gamma \sum_{a'} \pi(a'|s') Q^\pi(s', a') \right]

✅ 4.2 贝尔曼最优方程(Bellman Optimality Equation)

在最优策略 (\pi^*) 下:

V(s)=maxasP(ss,a)[R(s,a,s)+γV(s)] V^*(s) = \max_a \sum_{s'} P(s'|s,a) \left[ R(s,a,s') + \gamma V^*(s') \right] Q(s,a)=sP(ss,a)[R(s,a,s)+γmaxaQ(s,a)] Q^*(s,a) = \sum_{s'} P(s'|s,a) \left[ R(s,a,s') + \gamma \max_{a'} Q^*(s',a') \right]

最优值函数满足这个最大化递推关系


5️⃣ 策略方法 vs 值函数方法

方法类型核心思想代表算法
Value-based 方法估计状态值 (V(s)) 或动作值 (Q(s,a)),通过值函数导出策略Q-Learning, SARSA
Policy-based 方法直接对策略函数 (\pi(as)) 建模与优化(通常使用梯度)
Actor-Critic同时使用 policy(Actor) 和 value(Critic)A3C, PPO, DDPG

✅ 总结思维导图:

RL
├── 定义:与环境交互,最大化奖励
├── MDP: (S, A, P, R, γ)
├── 核心:
│ ├── 策略 π(a|s)
│ ├── 奖励 R(s,a,s')
│ ├── 值函数 V(s), Q(s,a)
│ └── 贝尔曼方程
└── 方法:
├── Value-based(Q-Learning)
├── Policy-based(REINFORCE)
└── Actor-Critic(PPO、A2C)

✅ 下一步建议:

  • 如果你愿意,我们可以下一课学习 Value Iteration 与 Policy Iteration 动态规划方法,引导你第一次实现 RL 训练一个策略。
  • 你也可以告诉我希望深入讲解某个概念、推导公式或实现代码。

你希望我怎么继续?继续讲第二课吗?还是现在练习理解概念?我也可以出几道基础题目帮助你巩固。